package com.operator.Activitys.activity;

import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.PopupMenu;
import android.widget.TextView;

import com.google.gson.Gson;
import com.operator.Activitys.R;
import com.operator.Activitys.activity.base.BaseActivity;
import com.operator.Activitys.bean.User;
import com.operator.Activitys.utils.Constant;
import com.operator.Activitys.utils.JumperUtils;
import com.zhy.autolayout.AutoRelativeLayout;

import org.simple.eventbus.Subscriber;

import butterknife.Bind;
import butterknife.OnClick;

/**
 * 项目名称：金泽云 手机app
 * 类描述：我的余额
 * 创建人：张飞祥
 * 创建时间：2018/6/21 8:38
 * 修改人：张飞祥
 * 修改时间：2018/6/21 8:38
 * 修改备注：
 */
public class MyBalanceActivity extends BaseActivity {

    //返回按钮
    @Bind(R.id.iv_return)
    ImageView ivReturn;
    //标题
    @Bind(R.id.tv_title)
    TextView tvTitle;
    //图片功能按钮
    @Bind(R.id.iv_function)
    ImageView ivFunction;
    //标题总布局
    @Bind(R.id.app_bar_layout)
    AutoRelativeLayout appBarLayout;
    //当前余额
    @Bind(R.id.tv_my_money)
    TextView tvMyMoney;

    //功能 条目弹出
    private PopupMenu mPopupMenu = null;
    //内存中用户实体
    protected User mACacheUser = null;

    @Override
    protected void initUI() {
        setContentView(R.layout.act_my_balance);

        //显示返回按钮
        ivReturn.setVisibility(View.VISIBLE);
        //显示返回按钮
        ivFunction.setVisibility(View.VISIBLE);
        //设置功能按钮图标
        ivFunction.setImageResource(R.drawable.ic_function_supply);
        //设置标题
        tvTitle.setText("我的余额");
        //设置状态栏 背景颜色
        appBarLayout.setBackgroundResource(R.color.color_bg_blue);

        //获取内存用户实体
        Gson gson = new Gson();
        mACacheUser = gson.fromJson(mACache.getAsJSONObject(Constant.CACHE_USER) + "", User.class);

        //初始化 条目
        mPopupMenu = new PopupMenu(this, ivFunction);
    }

    @Override
    protected void initData() {
        //TODO 初始化 menu
        initPopupMenu();
        //TODO 设置当前余额
        tvMyMoney.setText("￥ "+mACacheUser.getRemainder());
    }

    /**
     * 初始化 menu
     */

    private void initPopupMenu() {
        //加载 menu 布局
        mPopupMenu.getMenuInflater().inflate(R.menu.menu_balance, mPopupMenu.getMenu());
        //设置 item 点击事件
        mPopupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem menuItem) {
                //对菜单项点击内容进行设置
                int id = menuItem.getItemId();
                if (id == R.id.balance_mode_trade) {
                    //交易记录
                    JumperUtils.JumpTo(MyBalanceActivity.this, TradeListActivity.class);
                } else {
                    //奖惩记录
                    JumperUtils.JumpTo(MyBalanceActivity.this, PrizePunishListActivity.class);
                }
                return onOptionsItemSelected(menuItem);
            }
        });
    }

    /**
     * 刷新 余额信息 信息
     */
    @Subscriber(tag = Constant.BUS_MY_REMAINDER)
    public void onMyRemainderPush(double money) {
        tvMyMoney.setText("￥ "+ money);
        //TODO 更新 页面上的 店铺实体
        mACacheUser.setRemainder(money);
    }

    /**
     * 按钮点击事件
     *
     * @return
     */
    @OnClick({R.id.iv_return,R.id.iv_function})
    public void onClick(View view) {
        switch (view.getId()) {

            case R.id.iv_return:        //返回按钮
                finish();
                break;

            case R.id.iv_function:      //功能按钮
                mPopupMenu.show();
                break;
        }
    }
}
